﻿using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using Fuse8.ContentManagementFramework.Domain;

namespace Fuse8.ContentManagementFramework.BizFacade.Services.Contents
{
    public interface IContentProvider<TEntity> where TEntity : IContentItem
    {
        IEnumerable<TEntity> FindAll(Expression<Func<TEntity, object>> selector);
        IEnumerable<TEntity> Find(Expression<Func<TEntity, bool>> expression, Expression<Func<TEntity, object>> selector);
        TEntity FindOne(int id);
        TEntity FindOne(Expression<Func<TEntity, bool>> expression, Expression<Func<TEntity, object>> selector);
    }
}